package com.atguigu.gmall.controller;

import lombok.extern.slf4j.Slf4j;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;
import java.util.Properties;

/**
 * Author: Felix
 * Date: 2021/11/22
 * Desc: 日志采集服务
 *  运行模拟生成日志数据jar包
 *  生成的日志会发送给配置文件中配置的日志采集服务器
 *  日志采集服务对请求进行拦截，交给对应的方法进行处理
 *      -打印输出
 *      -落盘
 *      -发送到kafka主题
 */
@RestController
@Slf4j
public class LoggerController {
    //private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerController.class);

    //声明Spring提供的对kafka支持的模板类
    @Autowired
    private KafkaTemplate kafkaTemplate;

    @RequestMapping("/applog")
    public String logger(@RequestParam("param") String logStr){
        //打印输出
        //System.out.println(logStr);
        //落盘  使用第三方记录日志的插件logback完成
        log.info(logStr);
        //保存到kafka主题中
        kafkaTemplate.send("ods_base_log",logStr);
        return "success";
    }
}
